The present invention relates to the field of processing data by means of computers and more specifically to the field of controllers for controlling a multiplicity of different items of peripheral equipment.
One object of the invention is to provide such a controller which allows microprocesses at the various items of peripheral equipment to be handled simultaneously, thus freeing the operating system of the central unit of tasks such as supervising inputs and outputs and of the necessity to allot resources to control peripheral units.
Another object of the invention is to produce, for each type of peripheral apparatus, "firmware" (see Glossary for definition) in read-only or read/write stores which can easily be changed so as to facilitate the expansion of the peripheral members connected to the controller.
In the techniques generally used to exchange data between a multiprogrammed central processing unit and peripheral apparatus, input/output operations are strung together by a mechanism for linking up interruption procedures, and microprocesses which are ready to be carried out are examined by the operating system. In order to initiate and carry out a microprocess, the operating system needs a certain number of parameters, which it finds either on cards in small systems, or in units for running magnetic tapes, or, in large systems, on the discs in disc-memory units.
Thus, the operating system needs to keep a permanent watch on the state of the peripherals and on the priority levels of the events which appear at each type of peripheral in order to provide the resources which the unoccupied peripheral having the highest priority needs in order to operate. Generally, resources are allotted by calling up the disc or magnetic-tape unit so that the appropriate parameters can be fed into the main memory. When things are so organized, the operating system continuously tests the state of the peripherals, responds to interruptions and starts input/output operations, these operations taking place to the detriment of other processing which the central unit ought to interrupt. In the case of high performance systems the loss of time becomes a considerable one. Another drawback of known systems is that a special input/output control unit needs to be provided for each type of peripheral apparatus and this generally restricts the extent to which the peripheral apparatus can be expanded, chiefly due to the fact that the hardware cannot normally be developed beyond a certain limit which is imposed by considerations of manufacturing cost.
The controller according to the invention is capable of handling, simultaneously, microprocesses both on communications lines and on items of peripheral apparatus which are usually slow, such as card readers, printers, paper-tape readers or punchers, optical document readers or magnetic cassette-readers, each type of peripheral being connected to a peripheral or device adaptor DA and the connection to the central processing unit being made through a peripheral subsystem interface PSI (see Glossary for definition). To achieve the objects set forth above, the peripheral controller according to the invention is provided with a set of memories and logic circuits the organization of which is such as to endow the controller with the structure of a small general-purpose computer used especially for administering communications between a central unit and a plurality of items of peripheral apparatus.